<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts: web/web.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">ESP8266ILI9341DisplayProject</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_562abdcd8625d4bf7bad2fe6fe01354c.html">web</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">web.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="web_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifndef __WEB_H__</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define __WEB_H__</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">   27</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>espconn <a class="code" href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">espconn_t</a>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// WEB CONNECTIONS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef MAX_CONNECTIONS</span></div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="web_8h.html#a053b7859476cc9867ec62c49e68d3fa1">   31</a></span>&#160;<span class="preprocessor">    #define MAX_CONNECTIONS 1</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// =======================================================</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// HTML HEADER information</span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structhinfo__t.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// GET /LEDCTL.CGI?led2=on&amp;led3=on HTTP/1.1</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// TOKEN_GET,TOKEN_POST,TOKEN_HEAD</span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a4e896141431943909a71282fc56799fb">   39</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structhinfo__t.html#a4e896141431943909a71282fc56799fb">type</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a874ffdf5ade4e3844d7719444495e89c">   40</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a874ffdf5ade4e3844d7719444495e89c">filename</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a0d27c1b7d2730373f93342961b9cb18d">   41</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a0d27c1b7d2730373f93342961b9cb18d">arg_ptr</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a62bf198b939a9d932bcac763ebc51443">   42</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a62bf198b939a9d932bcac763ebc51443">args</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a003130c9489dfe54a76df23a85fae62f">   43</a></span>&#160;    <a class="code" href="send_8c.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="structhinfo__t.html#a003130c9489dfe54a76df23a85fae62f">args_length</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structhinfo__t.html#ac03bcdde52e49a14bf9112f295f216b5">   44</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#ac03bcdde52e49a14bf9112f295f216b5">html_encoding</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a3fbd7d81842222192fe8e8570451e89f">   45</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a3fbd7d81842222192fe8e8570451e89f">connection</a>;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// POST msg_pointers</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// Content-Type: application/x-www-form-urlencoded</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">// Content-Length: 165</span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a87bad5ce6af7ed3613a61d01aef94d8d">   49</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a87bad5ce6af7ed3613a61d01aef94d8d">content_type</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a6cf5714c0fe8e8e7f7819194274f9052">   50</a></span>&#160;    <a class="code" href="send_8c.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> <a class="code" href="structhinfo__t.html#a6cf5714c0fe8e8e7f7819194274f9052">content_length</a>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// Follows msg headers</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structhinfo__t.html#a06469570091ad74724457998e07d5b56">   52</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structhinfo__t.html#a06469570091ad74724457998e07d5b56">msg</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;} <a class="code" href="structhinfo__t.html">hinfo_t</a>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// =======================================================</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// Memory buffering for socket reads</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structmem__t.html">   57</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structmem__t.html#af9fd184846ee12236e952731fa592a74">   58</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structmem__t.html#af9fd184846ee12236e952731fa592a74">ptr</a>;  <span class="comment">// Current line</span></div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structmem__t.html#a57b0ca2400c977d234c77e9d20a03c46">   59</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structmem__t.html#a57b0ca2400c977d234c77e9d20a03c46">next</a>; <span class="comment">// Next line</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structmem__t.html#ab04d46fb2982c9a26a26244286c1b33b">   60</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structmem__t.html#ab04d46fb2982c9a26a26244286c1b33b">size</a>;   <span class="comment">// memory size</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;} <a class="code" href="structmem__t.html">mem_t</a>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// =======================================================</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">// Memory buffering for socket writes</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="web_8h.html#a51a214aeaf13aa7f3eac284e5a4fc93e">   65</a></span>&#160;<span class="preprocessor">#define IO_MAX 512  // buffered IO</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// HTTP headers from the client</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a6b4dfa1db88da421c74c30dc94c3ce53">   69</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a6b4dfa1db88da421c74c30dc94c3ce53">TOKEN_GET</a>,</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a2a1292bc924f34d6d69a7b71501ae73f">   70</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a2a1292bc924f34d6d69a7b71501ae73f">TOKEN_PUT</a>,</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4cb258960bebf97073876d09836f1618">   71</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4cb258960bebf97073876d09836f1618">TOKEN_POST</a>,</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a7a543c7cf1ac077230c499a41c3a8a94">   72</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a7a543c7cf1ac077230c499a41c3a8a94">TOKEN_HEAD</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a04d43499e4bc7c9f971f7a660d098ff1">   73</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a04d43499e4bc7c9f971f7a660d098ff1">TOKEN_HOST</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4e115a8a34594af0f253e8472cffe673">   74</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4e115a8a34594af0f253e8472cffe673">TOKEN_USER_AGENT</a>,</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ae47eb1ae54089e857fd7795282a7ae1d">   75</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ae47eb1ae54089e857fd7795282a7ae1d">TOKEN_HTTPS</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a37110324f9064d3a7e41029d572141d0">   76</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a37110324f9064d3a7e41029d572141d0">TOKEN_DNT</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04af8b41aa43b046daa7c0ada29d27b7cdb">   77</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04af8b41aa43b046daa7c0ada29d27b7cdb">TOKEN_ACCEPT</a>,</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a3fdcc37f74cb2179b65913891e1f02d8">   78</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a3fdcc37f74cb2179b65913891e1f02d8">TOKEN_ACCEPT_LANGUAGE</a>,</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04add40d0810a662bffc6a5d437e2a86c10">   79</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04add40d0810a662bffc6a5d437e2a86c10">TOKEN_ACCEPT_ENCODING</a>,</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad862c732a351f70da32231c9f4298d05">   80</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad862c732a351f70da32231c9f4298d05">TOKEN_CONNECTION</a>,</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ab9bf3f747c7169a74f228b4f173c2bf4">   81</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ab9bf3f747c7169a74f228b4f173c2bf4">TOKEN_REFERER</a>,</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a727fe5423c611ba2fac22b301c60e962">   82</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a727fe5423c611ba2fac22b301c60e962">TOKEN_CONTENT_LENGTH</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad871a413f306c0544fd283658f046805">   83</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad871a413f306c0544fd283658f046805">TOKEN_CONTENT_TYPE</a>,</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a991253922f53b4456f895f846e82b946">   84</a></span>&#160;    <a class="code" href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a991253922f53b4456f895f846e82b946">TOKEN_CACHE_CONTROL</a>,</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structheader__t.html">   88</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structheader__t.html#a389d7564d1b1fd7b7ace82e15525e18c">   89</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structheader__t.html#a389d7564d1b1fd7b7ace82e15525e18c">pattern</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structheader__t.html#a1f179d0a706f9ec29e1ac8ef9e67b8af">   90</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structheader__t.html#a1f179d0a706f9ec29e1ac8ef9e67b8af">type</a>;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;} <a class="code" href="structheader__t.html">header_t</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">//HTTP code descriptions from</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">//  HTTP Status Codes for Beginners</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">//  All valid HTTP 1.1 Status Codes simply explained.</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">//  This article is part of the For Beginners series.</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">//  http://www.addedbytes.com/for-beginners/&quot;},</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">// Web Server Status Codes</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7e4a42e3b6dd63708c64cf3db6f69566">  100</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7e4a42e3b6dd63708c64cf3db6f69566">STATUS_OK</a>=200,</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca75c8bace79d5c58050c2d93fd9de3c00">  101</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca75c8bace79d5c58050c2d93fd9de3c00">STATUS_CREATED</a>=201,</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca544ef68512445722eea8ab61cde6c830">  102</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca544ef68512445722eea8ab61cde6c830">STATUS_ACCEPTED</a>=202,</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca71bad6dd3a7a5c8299f3e3c80b45dc14">  103</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca71bad6dd3a7a5c8299f3e3c80b45dc14">STATUS_NO_CONTENT</a>=204,</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca663e14e47f325e0a39cd97b9a3ea6fb9">  104</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca663e14e47f325e0a39cd97b9a3ea6fb9">STATUS_MV_PERM</a>=301,</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cad39f6bf4951a299bdb3ce9b8d26e253d">  105</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cad39f6bf4951a299bdb3ce9b8d26e253d">STATUS_MV_TEMP</a>=302,</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca241c5e2099d4e3033fb286faab004c5c">  106</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca241c5e2099d4e3033fb286faab004c5c">STATUS_NOT_MODIF</a>=304,</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1879c295e29e4b52c2012c014cdc7f7a">  107</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1879c295e29e4b52c2012c014cdc7f7a">STATUS_BAD_REQ</a>=400,</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cab798bc2adfffcedc038bc7147872dedc">  108</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cab798bc2adfffcedc038bc7147872dedc">STATUS_UNAUTH</a>=401,</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caf1a1b171197b10ee86c06ae98edbaf5e">  109</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caf1a1b171197b10ee86c06ae98edbaf5e">STATUS_FORBIDDEN</a>=403,</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5beadd7da049edbb6bbe9a9d50973ac8">  110</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5beadd7da049edbb6bbe9a9d50973ac8">STATUS_NOT_FOUND</a>=404,</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caa4895f748a5cf4fbfc084fcc98bba90e">  111</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caa4895f748a5cf4fbfc084fcc98bba90e">STATUS_INT_SERR</a>=500,</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca70758246ac128854293bb3c9071a6b56">  112</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca70758246ac128854293bb3c9071a6b56">STATUS_NOT_IMPL</a>=501,</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca11d58f99340eb2b9510382096f7019c5">  113</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca11d58f99340eb2b9510382096f7019c5">STATUS_BAD_GATEWAY</a>=502,</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5426ee498d80d1ca30f1b81f86c39c31">  114</a></span>&#160;    <a class="code" href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5426ee498d80d1ca30f1b81f86c39c31">STATUS_SERV_UNAVAIL</a>=503</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;};</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea90b1e6aa374cea27cc6fb55c5feba5c6">  118</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea90b1e6aa374cea27cc6fb55c5feba5c6">PTYPE_TEXT</a>,</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea4bd960e514f0585643742b8bd4b77f3b">  119</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea4bd960e514f0585643742b8bd4b77f3b">PTYPE_HTML</a>,</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30057776e71c48725f93b464b45c9a21">  120</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30057776e71c48725f93b464b45c9a21">PTYPE_PDF</a>,</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea319eff9f0f2a8e6f74c5a319fc1cb4e4">  121</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea319eff9f0f2a8e6f74c5a319fc1cb4e4">PTYPE_CSS</a>,</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea96590ec99e2f5ce52c16218c19441c77">  122</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea96590ec99e2f5ce52c16218c19441c77">PTYPE_CGI</a>,</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea68ab53191252e14d5f4b4025b956cadf">  123</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea68ab53191252e14d5f4b4025b956cadf">PTYPE_JS</a>,</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae0868088fd938478331ae365e481a2d3">  124</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae0868088fd938478331ae365e481a2d3">PTYPE_XML</a>,</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eacbda84af249fa4ef414b6b5c32eec998">  125</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eacbda84af249fa4ef414b6b5c32eec998">PTYPE_ICO</a>,</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30f126f9623d527070097095a12e69d6">  126</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30f126f9623d527070097095a12e69d6">PTYPE_GIF</a>,</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eaabae39c4d39e7574d9e0459d6ada9675">  127</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eaabae39c4d39e7574d9e0459d6ada9675">PTYPE_JPEG</a>,</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae45f3c9fce9b5c96bf27fb291662b0cb">  128</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae45f3c9fce9b5c96bf27fb291662b0cb">PTYPE_MPEG</a>,</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eafb13489a2aca6e1485d8f1b36aab9bd5">  129</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9eafb13489a2aca6e1485d8f1b36aab9bd5">PTYPE_FLASH</a>,</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea8a75b468753c30e47935e8db26c91680">  130</a></span>&#160;    <a class="code" href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea8a75b468753c30e47935e8db26c91680">PTYPE_ERR</a></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;};</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="structmime__t.html">  133</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structmime__t.html#ae69826dcfd475d65fa0fe8a1574bb3af">  134</a></span>&#160;    <a class="code" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmime__t.html#ae69826dcfd475d65fa0fe8a1574bb3af">type</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structmime__t.html#ad796d16eaee60d7435bff66b2e9b8a8d">  135</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structmime__t.html#ad796d16eaee60d7435bff66b2e9b8a8d">mime</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structmime__t.html#a22af12abb536a48d3425a3a4d1cce2a4">  136</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structmime__t.html#a22af12abb536a48d3425a3a4d1cce2a4">ext1</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="structmime__t.html#ae16e9342ecd4df97a2564658f1f506b1">  137</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structmime__t.html#ae16e9342ecd4df97a2564658f1f506b1">ext2</a>;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;} <a class="code" href="structmime__t.html">mime_t</a>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">// =======================================================</span></div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structrwbuf__t.html">  142</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#a15785240e32c27f7af7c4b0cb1a6e39b">  143</a></span>&#160;    <a class="code" href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">espconn_t</a> *<a class="code" href="structrwbuf__t.html#a15785240e32c27f7af7c4b0cb1a6e39b">conn</a>;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#afd83372241273849c9395d587b146021">  145</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structrwbuf__t.html#afd83372241273849c9395d587b146021">rbuf</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#ac76412a0fbf9dc009ae3f8bb20660883">  146</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#ac76412a0fbf9dc009ae3f8bb20660883">received</a>;   <span class="comment">// bytes creived</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#ad5cbf7a78a5f5d9aa75b38f90e0fb6af">  147</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#ad5cbf7a78a5f5d9aa75b38f90e0fb6af">rind</a>;       <span class="comment">// index into rbuf</span></div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#aa4094c7e329ae85cc50dbd06d3b50d44">  148</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#aa4094c7e329ae85cc50dbd06d3b50d44">rsize</a>;      <span class="comment">// bytes allocated</span></div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#a68386231f3d907ec4508c090925782a2">  150</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structrwbuf__t.html#a68386231f3d907ec4508c090925782a2">wbuf</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#a279490994b6576ad00900254a8c07a89">  151</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#a279490994b6576ad00900254a8c07a89">send</a>;       <span class="comment">// bytes to send</span></div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#a135345eee44e93f37e57dbabec12c339">  152</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#a135345eee44e93f37e57dbabec12c339">wind</a>;       <span class="comment">// index into wbuf</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#ac723cf150dd35d0f67ba7d38b18863ad">  153</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#ac723cf150dd35d0f67ba7d38b18863ad">wsize</a>;      <span class="comment">// bytes allocated</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#ad83926198e358ac1a569b0da7749572c">  155</a></span>&#160;    <a class="code" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> remote_ip[4];</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#aa26b4813db79aeaa293bb1eadfde0b54">  156</a></span>&#160;    <a class="code" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> local_ip[4];</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#aace1e79a985cc8fab4c2093208bf3763">  157</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#aace1e79a985cc8fab4c2093208bf3763">remote_port</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#aac758cef289d022f4eb81d4c4fac7f04">  158</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structrwbuf__t.html#aac758cef289d022f4eb81d4c4fac7f04">local_port</a>;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="structrwbuf__t.html#a54e278f96a331cf0a61d22094c4b9f87">  160</a></span>&#160;    <span class="keywordtype">int</span> <span class="keyword">delete</span>;     <span class="comment">// close connection</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;} <a class="code" href="structrwbuf__t.html">rwbuf_t</a>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">// ============================================================</span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">/* web.c */</span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a32080fe9d866898d9fb3dce10079b1ff">web_sep</a> ( <span class="keywordtype">void</span> );</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a6b59ca0b6eea0b246eb56ae2b37ee2d8">wait_send</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#ab32eaeba7482e80dde268638c1514a6d">write_buffer</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a5e0970f0d980f87fb5524a757f96fa84">write_flush</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a50c911d56af7c50bc045cffb983d76f0">write_byte</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">int</span> c );</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#aaaac061db0c7646d5b6c8bdfe3089ae7">led_on</a> ( <span class="keywordtype">int</span> led );</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#aec67a5a0b10a3ad2bbfe81de832ef239">led_off</a> ( <span class="keywordtype">int</span> led );</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#ac827567ee25b284c2992fed88249ab96">rwbuf_rinit</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a6a137266340baece84e055b2d49cd0c2">rwbuf_winit</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a89dceabcd370d352c3efed0e689fd551">display_ipv4</a> ( <span class="keywordtype">char</span> *msg , <a class="code" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *ip , <span class="keywordtype">int</span> port );</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#af089b318dcc1ebbec17ae7392a19e457">rwbuf_delete</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *<a class="code" href="web_8h.html#a0768c5077e8cfa177735808798193071">rwbuf_create</a> ( <span class="keywordtype">void</span> );</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *<a class="code" href="web_8h.html#a63cfcb009066f483330ec359b8493fbe">find_connection</a> ( <a class="code" href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">espconn_t</a> *conn , <span class="keywordtype">int</span> *index , <span class="keywordtype">char</span> *msg );</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *<a class="code" href="web_8h.html#aef2853a921eb49702f064eaa925b16e1">create_connection</a> ( <a class="code" href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">espconn_t</a> *conn );</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a7f82234178b3e152072e979c17b40af2">delete_connection</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p );</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a751d54408d691ebc079108ffc42ee436">write_len</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">char</span> *str , <span class="keywordtype">int</span> len );</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a2a5efc80e175181baf607f7f9a1358e5">write_str</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">char</span> *str );</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a912affa80386fb06e19c3ce5342701f5">vsock_printf</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt , va_list va );</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a38a7c7d1f5222edff77e9a7a20195696">sock_printf</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt , ...);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a5cb82637d6d97812355aaa7a7fb4ccbe">html_msg</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">int</span> status , <span class="keywordtype">char</span> type , <span class="keywordtype">char</span> *fmt , ...);</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#a2ea8a8e37ac5c7099311e4d9cdb77efb">meminit</a> ( <a class="code" href="structmem__t.html">mem_t</a> *p , <span class="keywordtype">char</span> *ptr , <span class="keywordtype">int</span> size );</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#ad834fe4d9506060f80d873fb20c186d5">memgets</a> ( <a class="code" href="structmem__t.html">mem_t</a> *p );</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#ae16ca93f35df1d6e5040aa464fec44ab">mime_type</a> ( <span class="keywordtype">int</span> type );</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#aec5e03bbb08e40de50b3da6413e26931">file_type</a> ( <span class="keywordtype">char</span> *name );</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#aeebdbab253618d52a35054978fe4bb0e">html_status</a> ( <span class="keywordtype">int</span> status );</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a9022b922953aabe534b7b68e6f3a90af">init_hinfo</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a93274f0048175d7ed429598e951a2c77">match_headers</a> ( <span class="keywordtype">char</span> *str , <span class="keywordtype">char</span> **p );</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#ab29b4d9382acde5a32fa0aad1068c38b">process_args</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi , <span class="keywordtype">char</span> *ptr );</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#afb148431af519ffd7c3191ed3edd4d50">first_arg</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#ac2b1c83b2901da05a13fbc48e9c9f030">next_arg</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#a35cc0d5292df6d1df5cf3ea63e44d0b7">arg_name</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#a12e823b35aaf4392e282d39057f45eb8">arg_value</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#a142e7c44af77016bb329676f4466da7e">http_value</a> ( <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi , <span class="keywordtype">char</span> *str );</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#aac0e14d0751e24b7143060600fe7822a">is_header</a> ( <span class="keywordtype">char</span> *str , <span class="keywordtype">char</span> **p );</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">char</span> *<a class="code" href="web_8h.html#a1723d513f866e03e8195adf0139b1603">nextbreak</a> ( <span class="keywordtype">char</span> *ptr );</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a099953c3f11ff53e89c99b0be5212b70">u5toa</a> ( <span class="keywordtype">char</span> *ptr , <a class="code" href="send_8c.html#a273cf69d639a59973b6019625df33e30">uint16_t</a> num );</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#acfdd7b32cc9e6b5214ddbf8120a9ed7b">html_head</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">int</span> status , <span class="keywordtype">char</span> type , <span class="keywordtype">int</span> len );</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a574da7d2e02f16c3ff0727061b90c46c">parse_http_request</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <a class="code" href="structhinfo__t.html">hinfo_t</a> *hi );</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a4abb48d4494fe24bdb3966a30a380f94">is_cgitoken_char</a> ( <span class="keywordtype">int</span> c );</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a1923a5ddca00d254e13a605602f68972">find_cgitoken_start</a> ( <span class="keywordtype">char</span> *str );</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#a048ebac3422330a50ba449d817ff49d8">is_cgitoken</a> ( <span class="keywordtype">char</span> *str );</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">int</span> <a class="code" href="web_8h.html#abfb5be0ab21dfe56bc934a8965154384">rewrite_cgi_token</a> ( <a class="code" href="structrwbuf__t.html">rwbuf_t</a> *p , <span class="keywordtype">char</span> *src );</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a8914bb442212946291b6afbf4f3e728e">web_task</a> ( <span class="keywordtype">void</span> );</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#a0981a27ccb83326c4e96a0859f6511b5">web_init_connections</a> ( <span class="keywordtype">void</span> );</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<a class="code" href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <span class="keywordtype">void</span> <a class="code" href="web_8h.html#aa7a1c2f567713688983ddecf9fa0d8d6">web_init</a> ( <span class="keywordtype">int</span> port );</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">// ============================================================</span></div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">/* end of __WEB_H__ */</span><span class="preprocessor"> </span></div><div class="ttc" id="web_8h_html_aa7a1c2f567713688983ddecf9fa0d8d6"><div class="ttname"><a href="web_8h.html#aa7a1c2f567713688983ddecf9fa0d8d6">web_init</a></div><div class="ttdeci">MEMSPACE void web_init(int port)</div><div class="ttdoc">Setup WEB server and accept connections. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02490">web.c:2490</a></div></div>
<div class="ttc" id="web_8h_html_a6a137266340baece84e055b2d49cd0c2"><div class="ttname"><a href="web_8h.html#a6a137266340baece84e055b2d49cd0c2">rwbuf_winit</a></div><div class="ttdeci">MEMSPACE void rwbuf_winit(rwbuf_t *p)</div><div class="ttdoc">Initialize socket send status and write index. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00453">web.c:453</a></div></div>
<div class="ttc" id="structhinfo__t_html_a6cf5714c0fe8e8e7f7819194274f9052"><div class="ttname"><a href="structhinfo__t.html#a6cf5714c0fe8e8e7f7819194274f9052">hinfo_t::content_length</a></div><div class="ttdeci">uint16_t content_length</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00050">web.h:50</a></div></div>
<div class="ttc" id="web_8h_html_a1723d513f866e03e8195adf0139b1603"><div class="ttname"><a href="web_8h.html#a1723d513f866e03e8195adf0139b1603">nextbreak</a></div><div class="ttdeci">MEMSPACE char * nextbreak(char *ptr)</div><div class="ttdoc">Find next space or ? character. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01476">web.c:1476</a></div></div>
<div class="ttc" id="structrwbuf__t_html_afd83372241273849c9395d587b146021"><div class="ttname"><a href="structrwbuf__t.html#afd83372241273849c9395d587b146021">rwbuf_t::rbuf</a></div><div class="ttdeci">char * rbuf</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00145">web.h:145</a></div></div>
<div class="ttc" id="web_8h_html_a0768c5077e8cfa177735808798193071"><div class="ttname"><a href="web_8h.html#a0768c5077e8cfa177735808798193071">rwbuf_create</a></div><div class="ttdeci">MEMSPACE rwbuf_t * rwbuf_create(void)</div><div class="ttdoc">Create socket read/write buffer for a connection. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00526">web.c:526</a></div></div>
<div class="ttc" id="web_8h_html_ab32eaeba7482e80dde268638c1514a6d"><div class="ttname"><a href="web_8h.html#ab32eaeba7482e80dde268638c1514a6d">write_buffer</a></div><div class="ttdeci">MEMSPACE int write_buffer(rwbuf_t *p)</div><div class="ttdoc">Socket write buffer for this connection We wait for previous send to complete - then send any new dat...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00266">web.c:266</a></div></div>
<div class="ttc" id="structrwbuf__t_html_aa4094c7e329ae85cc50dbd06d3b50d44"><div class="ttname"><a href="structrwbuf__t.html#aa4094c7e329ae85cc50dbd06d3b50d44">rwbuf_t::rsize</a></div><div class="ttdeci">int rsize</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00148">web.h:148</a></div></div>
<div class="ttc" id="web_8h_html_a1923a5ddca00d254e13a605602f68972"><div class="ttname"><a href="web_8h.html#a1923a5ddca00d254e13a605602f68972">find_cgitoken_start</a></div><div class="ttdeci">MEMSPACE int find_cgitoken_start(char *str)</div><div class="ttdoc">Find start of CGI token in a string CGI tokens have the following syntax @ They start with &quot;@_&quot; and e...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02024">web.c:2024</a></div></div>
<div class="ttc" id="web_8h_html_ad834fe4d9506060f80d873fb20c186d5"><div class="ttname"><a href="web_8h.html#ad834fe4d9506060f80d873fb20c186d5">memgets</a></div><div class="ttdeci">MEMSPACE char * memgets(mem_t *p)</div><div class="ttdoc">Memory gets function We ASSUME we can replace any   with a \0. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00952">web.c:952</a></div></div>
<div class="ttc" id="structrwbuf__t_html_ac723cf150dd35d0f67ba7d38b18863ad"><div class="ttname"><a href="structrwbuf__t.html#ac723cf150dd35d0f67ba7d38b18863ad">rwbuf_t::wsize</a></div><div class="ttdeci">int wsize</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00153">web.h:153</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06caf1a1b171197b10ee86c06ae98edbaf5e"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caf1a1b171197b10ee86c06ae98edbaf5e">STATUS_FORBIDDEN</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00109">web.h:109</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea96590ec99e2f5ce52c16218c19441c77"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea96590ec99e2f5ce52c16218c19441c77">PTYPE_CGI</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00122">web.h:122</a></div></div>
<div class="ttc" id="web_8h_html_a7f82234178b3e152072e979c17b40af2"><div class="ttname"><a href="web_8h.html#a7f82234178b3e152072e979c17b40af2">delete_connection</a></div><div class="ttdeci">MEMSPACE int delete_connection(rwbuf_t *p)</div><div class="ttdoc">Delete our main connection structure and connection buffers. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00715">web.c:715</a></div></div>
<div class="ttc" id="structmem__t_html_af9fd184846ee12236e952731fa592a74"><div class="ttname"><a href="structmem__t.html#af9fd184846ee12236e952731fa592a74">mem_t::ptr</a></div><div class="ttdeci">char * ptr</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00058">web.h:58</a></div></div>
<div class="ttc" id="send_8c_html_a273cf69d639a59973b6019625df33e30"><div class="ttname"><a href="send_8c.html#a273cf69d639a59973b6019625df33e30">uint16_t</a></div><div class="ttdeci">unsigned short uint16_t</div><div class="ttdef"><b>Definition:</b> <a href="send_8c_source.html#l00018">send.c:18</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04ad862c732a351f70da32231c9f4298d05"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad862c732a351f70da32231c9f4298d05">TOKEN_CONNECTION</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00080">web.h:80</a></div></div>
<div class="ttc" id="structhinfo__t_html_a4e896141431943909a71282fc56799fb"><div class="ttname"><a href="structhinfo__t.html#a4e896141431943909a71282fc56799fb">hinfo_t::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00039">web.h:39</a></div></div>
<div class="ttc" id="structrwbuf__t_html_a279490994b6576ad00900254a8c07a89"><div class="ttname"><a href="structrwbuf__t.html#a279490994b6576ad00900254a8c07a89">rwbuf_t::send</a></div><div class="ttdeci">int send</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00151">web.h:151</a></div></div>
<div class="ttc" id="web_8h_html_a751d54408d691ebc079108ffc42ee436"><div class="ttname"><a href="web_8h.html#a751d54408d691ebc079108ffc42ee436">write_len</a></div><div class="ttdeci">MEMSPACE void write_len(rwbuf_t *p, char *str, int len)</div><div class="ttdoc">Write data using buffered write_byte function. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00758">web.c:758</a></div></div>
<div class="ttc" id="structmime__t_html_a22af12abb536a48d3425a3a4d1cce2a4"><div class="ttname"><a href="structmime__t.html#a22af12abb536a48d3425a3a4d1cce2a4">mime_t::ext1</a></div><div class="ttdeci">char * ext1</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00136">web.h:136</a></div></div>
<div class="ttc" id="structrwbuf__t_html_aac758cef289d022f4eb81d4c4fac7f04"><div class="ttname"><a href="structrwbuf__t.html#aac758cef289d022f4eb81d4c4fac7f04">rwbuf_t::local_port</a></div><div class="ttdeci">int local_port</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00158">web.h:158</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a2a1292bc924f34d6d69a7b71501ae73f"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a2a1292bc924f34d6d69a7b71501ae73f">TOKEN_PUT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00070">web.h:70</a></div></div>
<div class="ttc" id="structhinfo__t_html_a003130c9489dfe54a76df23a85fae62f"><div class="ttname"><a href="structhinfo__t.html#a003130c9489dfe54a76df23a85fae62f">hinfo_t::args_length</a></div><div class="ttdeci">uint16_t args_length</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00043">web.h:43</a></div></div>
<div class="ttc" id="web_8h_html_a142e7c44af77016bb329676f4466da7e"><div class="ttname"><a href="web_8h.html#a142e7c44af77016bb329676f4466da7e">http_value</a></div><div class="ttdeci">MEMSPACE char * http_value(hinfo_t *hi, char *str)</div><div class="ttdoc">Lookup and argument name and return its value. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01422">web.c:1422</a></div></div>
<div class="ttc" id="web_8h_html_a6b59ca0b6eea0b246eb56ae2b37ee2d8"><div class="ttname"><a href="web_8h.html#a6b59ca0b6eea0b246eb56ae2b37ee2d8">wait_send</a></div><div class="ttdeci">MEMSPACE int wait_send(rwbuf_t *p)</div><div class="ttdoc">Wait for buffer to send for this connection If write_buffer sending flag is set then wait for it to c...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00195">web.c:195</a></div></div>
<div class="ttc" id="structmem__t_html_a57b0ca2400c977d234c77e9d20a03c46"><div class="ttname"><a href="structmem__t.html#a57b0ca2400c977d234c77e9d20a03c46">mem_t::next</a></div><div class="ttdeci">char * next</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00059">web.h:59</a></div></div>
<div class="ttc" id="web_8h_html_a8914bb442212946291b6afbf4f3e728e"><div class="ttname"><a href="web_8h.html#a8914bb442212946291b6afbf4f3e728e">web_task</a></div><div class="ttdeci">MEMSPACE void web_task(void)</div><div class="ttdoc">Process ALL incoming HTTP requests. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02441">web.c:2441</a></div></div>
<div class="ttc" id="structheader__t_html_a1f179d0a706f9ec29e1ac8ef9e67b8af"><div class="ttname"><a href="structheader__t.html#a1f179d0a706f9ec29e1ac8ef9e67b8af">header_t::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00090">web.h:90</a></div></div>
<div class="ttc" id="web_8h_html_a2ea8a8e37ac5c7099311e4d9cdb77efb"><div class="ttname"><a href="web_8h.html#a2ea8a8e37ac5c7099311e4d9cdb77efb">meminit</a></div><div class="ttdeci">MEMSPACE char * meminit(mem_t *p, char *ptr, int size)</div><div class="ttdoc">in memory memory gets function </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00933">web.c:933</a></div></div>
<div class="ttc" id="web_8h_html_a9022b922953aabe534b7b68e6f3a90af"><div class="ttname"><a href="web_8h.html#a9022b922953aabe534b7b68e6f3a90af">init_hinfo</a></div><div class="ttdeci">MEMSPACE void init_hinfo(hinfo_t *hi)</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01055">web.c:1055</a></div></div>
<div class="ttc" id="web_8h_html_a5e0970f0d980f87fb5524a757f96fa84"><div class="ttname"><a href="web_8h.html#a5e0970f0d980f87fb5524a757f96fa84">write_flush</a></div><div class="ttdeci">MEMSPACE int write_flush(rwbuf_t *p)</div><div class="ttdoc">Write all outstanding data and wait for it to send. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00323">web.c:323</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a04d43499e4bc7c9f971f7a660d098ff1"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a04d43499e4bc7c9f971f7a660d098ff1">TOKEN_HOST</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00073">web.h:73</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca5426ee498d80d1ca30f1b81f86c39c31"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5426ee498d80d1ca30f1b81f86c39c31">STATUS_SERV_UNAVAIL</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00114">web.h:114</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06cab798bc2adfffcedc038bc7147872dedc"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cab798bc2adfffcedc038bc7147872dedc">STATUS_UNAUTH</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00108">web.h:108</a></div></div>
<div class="ttc" id="web_8h_html_a32080fe9d866898d9fb3dce10079b1ff"><div class="ttname"><a href="web_8h.html#a32080fe9d866898d9fb3dce10079b1ff">web_sep</a></div><div class="ttdeci">MEMSPACE void web_sep(void)</div><div class="ttdoc">printer seperator </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00182">web.c:182</a></div></div>
<div class="ttc" id="web_8h_html_aaaac061db0c7646d5b6c8bdfe3089ae7"><div class="ttname"><a href="web_8h.html#aaaac061db0c7646d5b6c8bdfe3089ae7">led_on</a></div><div class="ttdeci">MEMSPACE void led_on(int led)</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00374">web.c:374</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea30057776e71c48725f93b464b45c9a21"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30057776e71c48725f93b464b45c9a21">PTYPE_PDF</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00120">web.h:120</a></div></div>
<div class="ttc" id="web_8h_html_aec67a5a0b10a3ad2bbfe81de832ef239"><div class="ttname"><a href="web_8h.html#aec67a5a0b10a3ad2bbfe81de832ef239">led_off</a></div><div class="ttdeci">MEMSPACE void led_off(int led)</div><div class="ttdoc">Turn off virtual LED. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00384">web.c:384</a></div></div>
<div class="ttc" id="web_8h_html_a12e823b35aaf4392e282d39057f45eb8"><div class="ttname"><a href="web_8h.html#a12e823b35aaf4392e282d39057f45eb8">arg_value</a></div><div class="ttdeci">MEMSPACE char * arg_value(hinfo_t *hi)</div><div class="ttdoc">Return the argument value for current argument. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01346">web.c:1346</a></div></div>
<div class="ttc" id="web_8h_html_a38a7c7d1f5222edff77e9a7a20195696"><div class="ttname"><a href="web_8h.html#a38a7c7d1f5222edff77e9a7a20195696">sock_printf</a></div><div class="ttdeci">MEMSPACE int sock_printf(rwbuf_t *p, const char *fmt,...)</div><div class="ttdoc">sock_printf function </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00830">web.c:830</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a991253922f53b4456f895f846e82b946"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a991253922f53b4456f895f846e82b946">TOKEN_CACHE_CONTROL</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00084">web.h:84</a></div></div>
<div class="ttc" id="structmime__t_html_ad796d16eaee60d7435bff66b2e9b8a8d"><div class="ttname"><a href="structmime__t.html#ad796d16eaee60d7435bff66b2e9b8a8d">mime_t::mime</a></div><div class="ttdeci">char * mime</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00135">web.h:135</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a37110324f9064d3a7e41029d572141d0"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a37110324f9064d3a7e41029d572141d0">TOKEN_DNT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00076">web.h:76</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04ab9bf3f747c7169a74f228b4f173c2bf4"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ab9bf3f747c7169a74f228b4f173c2bf4">TOKEN_REFERER</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00081">web.h:81</a></div></div>
<div class="ttc" id="web_8h_html_abfb5be0ab21dfe56bc934a8965154384"><div class="ttname"><a href="web_8h.html#abfb5be0ab21dfe56bc934a8965154384">rewrite_cgi_token</a></div><div class="ttdeci">MEMSPACE int rewrite_cgi_token(rwbuf_t *p, char *src)</div><div class="ttdoc">Replace CGI token with CGI result CGI tokens have the following syntax @ They start with &quot;@_&quot; and end...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02093">web.c:2093</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04ae47eb1ae54089e857fd7795282a7ae1d"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ae47eb1ae54089e857fd7795282a7ae1d">TOKEN_HTTPS</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00075">web.h:75</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea8a75b468753c30e47935e8db26c91680"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea8a75b468753c30e47935e8db26c91680">PTYPE_ERR</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00130">web.h:130</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a7a543c7cf1ac077230c499a41c3a8a94"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a7a543c7cf1ac077230c499a41c3a8a94">TOKEN_HEAD</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00072">web.h:72</a></div></div>
<div class="ttc" id="structmem__t_html"><div class="ttname"><a href="structmem__t.html">mem_t</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00057">web.h:57</a></div></div>
<div class="ttc" id="web_8h_html_a0981a27ccb83326c4e96a0859f6511b5"><div class="ttname"><a href="web_8h.html#a0981a27ccb83326c4e96a0859f6511b5">web_init_connections</a></div><div class="ttdeci">MEMSPACE void web_init_connections(void)</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02475">web.c:2475</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea4bd960e514f0585643742b8bd4b77f3b"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea4bd960e514f0585643742b8bd4b77f3b">PTYPE_HTML</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00119">web.h:119</a></div></div>
<div class="ttc" id="web_8h_html_ab29b4d9382acde5a32fa0aad1068c38b"><div class="ttname"><a href="web_8h.html#ab29b4d9382acde5a32fa0aad1068c38b">process_args</a></div><div class="ttdeci">MEMSPACE char * process_args(hinfo_t *hi, char *ptr)</div><div class="ttdoc">Process GET argments or POST message name/value data. HTML encoding is done in place often reducting ...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01116">web.c:1116</a></div></div>
<div class="ttc" id="structrwbuf__t_html"><div class="ttname"><a href="structrwbuf__t.html">rwbuf_t</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00142">web.h:142</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea68ab53191252e14d5f4b4025b956cadf"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea68ab53191252e14d5f4b4025b956cadf">PTYPE_JS</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00123">web.h:123</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a6b4dfa1db88da421c74c30dc94c3ce53"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a6b4dfa1db88da421c74c30dc94c3ce53">TOKEN_GET</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00069">web.h:69</a></div></div>
<div class="ttc" id="web_8h_html_a63cfcb009066f483330ec359b8493fbe"><div class="ttname"><a href="web_8h.html#a63cfcb009066f483330ec359b8493fbe">find_connection</a></div><div class="ttdeci">MEMSPACE rwbuf_t * find_connection(espconn_t *conn, int *index, char *msg)</div><div class="ttdoc">Find a read/write socket buffer for an espconn connection. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00590">web.c:590</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a727fe5423c611ba2fac22b301c60e962"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a727fe5423c611ba2fac22b301c60e962">TOKEN_CONTENT_LENGTH</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00082">web.h:82</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca70758246ac128854293bb3c9071a6b56"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca70758246ac128854293bb3c9071a6b56">STATUS_NOT_IMPL</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00112">web.h:112</a></div></div>
<div class="ttc" id="web_8h_html_a50c911d56af7c50bc045cffb983d76f0"><div class="ttname"><a href="web_8h.html#a50c911d56af7c50bc045cffb983d76f0">write_byte</a></div><div class="ttdeci">MEMSPACE int write_byte(rwbuf_t *p, int c)</div><div class="ttdoc">Write a byte (buffered) using the rwbuf_t socket buffers for this connection If the buffers are full ...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00339">web.c:339</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca71bad6dd3a7a5c8299f3e3c80b45dc14"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca71bad6dd3a7a5c8299f3e3c80b45dc14">STATUS_NO_CONTENT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00103">web.h:103</a></div></div>
<div class="ttc" id="structmime__t_html"><div class="ttname"><a href="structmime__t.html">mime_t</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00133">web.h:133</a></div></div>
<div class="ttc" id="structrwbuf__t_html_ad5cbf7a78a5f5d9aa75b38f90e0fb6af"><div class="ttname"><a href="structrwbuf__t.html#ad5cbf7a78a5f5d9aa75b38f90e0fb6af">rwbuf_t::rind</a></div><div class="ttdeci">int rind</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00147">web.h:147</a></div></div>
<div class="ttc" id="structrwbuf__t_html_aace1e79a985cc8fab4c2093208bf3763"><div class="ttname"><a href="structrwbuf__t.html#aace1e79a985cc8fab4c2093208bf3763">rwbuf_t::remote_port</a></div><div class="ttdeci">int remote_port</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00157">web.h:157</a></div></div>
<div class="ttc" id="structhinfo__t_html_ac03bcdde52e49a14bf9112f295f216b5"><div class="ttname"><a href="structhinfo__t.html#ac03bcdde52e49a14bf9112f295f216b5">hinfo_t::html_encoding</a></div><div class="ttdeci">char * html_encoding</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00044">web.h:44</a></div></div>
<div class="ttc" id="web_8h_html_acfdd7b32cc9e6b5214ddbf8120a9ed7b"><div class="ttname"><a href="web_8h.html#acfdd7b32cc9e6b5214ddbf8120a9ed7b">html_head</a></div><div class="ttdeci">MEMSPACE void html_head(rwbuf_t *p, int status, char type, int len)</div><div class="ttdoc">Write HTTP Contenet-Type/Content-Length header. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01518">web.c:1518</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06cad39f6bf4951a299bdb3ce9b8d26e253d"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06cad39f6bf4951a299bdb3ce9b8d26e253d">STATUS_MV_TEMP</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00105">web.h:105</a></div></div>
<div class="ttc" id="structheader__t_html"><div class="ttname"><a href="structheader__t.html">header_t</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00088">web.h:88</a></div></div>
<div class="ttc" id="structheader__t_html_a389d7564d1b1fd7b7ace82e15525e18c"><div class="ttname"><a href="structheader__t.html#a389d7564d1b1fd7b7ace82e15525e18c">header_t::pattern</a></div><div class="ttdeci">char * pattern</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00089">web.h:89</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca5beadd7da049edbb6bbe9a9d50973ac8"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca5beadd7da049edbb6bbe9a9d50973ac8">STATUS_NOT_FOUND</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00110">web.h:110</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04ad871a413f306c0544fd283658f046805"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04ad871a413f306c0544fd283658f046805">TOKEN_CONTENT_TYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00083">web.h:83</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea319eff9f0f2a8e6f74c5a319fc1cb4e4"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea319eff9f0f2a8e6f74c5a319fc1cb4e4">PTYPE_CSS</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00121">web.h:121</a></div></div>
<div class="ttc" id="structmime__t_html_ae16e9342ecd4df97a2564658f1f506b1"><div class="ttname"><a href="structmime__t.html#ae16e9342ecd4df97a2564658f1f506b1">mime_t::ext2</a></div><div class="ttdeci">char * ext2</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00137">web.h:137</a></div></div>
<div class="ttc" id="web_8h_html_ac2b1c83b2901da05a13fbc48e9c9f030"><div class="ttname"><a href="web_8h.html#ac2b1c83b2901da05a13fbc48e9c9f030">next_arg</a></div><div class="ttdeci">MEMSPACE char * next_arg(hinfo_t *hi)</div><div class="ttdoc">Find next POST/GET argument We have to skip a name and a value. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01247">web.c:1247</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9eaabae39c4d39e7574d9e0459d6ada9675"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9eaabae39c4d39e7574d9e0459d6ada9675">PTYPE_JPEG</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00127">web.h:127</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04add40d0810a662bffc6a5d437e2a86c10"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04add40d0810a662bffc6a5d437e2a86c10">TOKEN_ACCEPT_ENCODING</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00079">web.h:79</a></div></div>
<div class="ttc" id="web_8h_html_afb148431af519ffd7c3191ed3edd4d50"><div class="ttname"><a href="web_8h.html#afb148431af519ffd7c3191ed3edd4d50">first_arg</a></div><div class="ttdeci">MEMSPACE char * first_arg(hinfo_t *hi)</div><div class="ttdoc">Find first POST/GET argument. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01235">web.c:1235</a></div></div>
<div class="ttc" id="web_8h_html_a574da7d2e02f16c3ff0727061b90c46c"><div class="ttname"><a href="web_8h.html#a574da7d2e02f16c3ff0727061b90c46c">parse_http_request</a></div><div class="ttdeci">MEMSPACE int parse_http_request(rwbuf_t *p, hinfo_t *hi)</div><div class="ttdoc">Get arguments for a GET or POST request. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01535">web.c:1535</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9eacbda84af249fa4ef414b6b5c32eec998"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9eacbda84af249fa4ef414b6b5c32eec998">PTYPE_ICO</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00125">web.h:125</a></div></div>
<div class="ttc" id="web_8h_html_a6dae30cd245bde804cf3e2c09e39a4b6"><div class="ttname"><a href="web_8h.html#a6dae30cd245bde804cf3e2c09e39a4b6">espconn_t</a></div><div class="ttdeci">struct espconn espconn_t</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00027">web.h:27</a></div></div>
<div class="ttc" id="web_8h_html_aeebdbab253618d52a35054978fe4bb0e"><div class="ttname"><a href="web_8h.html#aeebdbab253618d52a35054978fe4bb0e">html_status</a></div><div class="ttdeci">MEMSPACE char * html_status(int status)</div><div class="ttdoc">Convert html status into string using http_status table. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01030">web.c:1030</a></div></div>
<div class="ttc" id="structrwbuf__t_html_a15785240e32c27f7af7c4b0cb1a6e39b"><div class="ttname"><a href="structrwbuf__t.html#a15785240e32c27f7af7c4b0cb1a6e39b">rwbuf_t::conn</a></div><div class="ttdeci">espconn_t * conn</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00143">web.h:143</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca544ef68512445722eea8ab61cde6c830"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca544ef68512445722eea8ab61cde6c830">STATUS_ACCEPTED</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00102">web.h:102</a></div></div>
<div class="ttc" id="web_8h_html_aef2853a921eb49702f064eaa925b16e1"><div class="ttname"><a href="web_8h.html#aef2853a921eb49702f064eaa925b16e1">create_connection</a></div><div class="ttdeci">MEMSPACE rwbuf_t * create_connection(espconn_t *conn)</div><div class="ttdoc">Allocate read/write socket buffers and add it to the working pool. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00669">web.c:669</a></div></div>
<div class="ttc" id="web_8h_html_ae16ca93f35df1d6e5040aa464fec44ab"><div class="ttname"><a href="web_8h.html#ae16ca93f35df1d6e5040aa464fec44ab">mime_type</a></div><div class="ttdeci">MEMSPACE char * mime_type(int type)</div><div class="ttdoc">return strung pointer for mime type index </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00983">web.c:983</a></div></div>
<div class="ttc" id="web_8h_html_aec5e03bbb08e40de50b3da6413e26931"><div class="ttname"><a href="web_8h.html#aec5e03bbb08e40de50b3da6413e26931">file_type</a></div><div class="ttdeci">MEMSPACE int file_type(char *name)</div><div class="ttdoc">Determin mimetype using file name extension. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00996">web.c:996</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a4e115a8a34594af0f253e8472cffe673"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4e115a8a34594af0f253e8472cffe673">TOKEN_USER_AGENT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00074">web.h:74</a></div></div>
<div class="ttc" id="web_8h_html_a4abb48d4494fe24bdb3966a30a380f94"><div class="ttname"><a href="web_8h.html#a4abb48d4494fe24bdb3966a30a380f94">is_cgitoken_char</a></div><div class="ttdeci">MEMSPACE int is_cgitoken_char(int c)</div><div class="ttdoc">test to see if a character is a valid member of the CGI token character set CGI tokens have the follo...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01999">web.c:1999</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06caa4895f748a5cf4fbfc084fcc98bba90e"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06caa4895f748a5cf4fbfc084fcc98bba90e">STATUS_INT_SERR</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00111">web.h:111</a></div></div>
<div class="ttc" id="web_8h_html_a048ebac3422330a50ba449d817ff49d8"><div class="ttname"><a href="web_8h.html#a048ebac3422330a50ba449d817ff49d8">is_cgitoken</a></div><div class="ttdeci">MEMSPACE int is_cgitoken(char *str)</div><div class="ttdoc">Does the string have a CGI TOKEN at the beginning ? CGI tokens have the following syntax @ They start...</div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l02051">web.c:2051</a></div></div>
<div class="ttc" id="structhinfo__t_html_a0d27c1b7d2730373f93342961b9cb18d"><div class="ttname"><a href="structhinfo__t.html#a0d27c1b7d2730373f93342961b9cb18d">hinfo_t::arg_ptr</a></div><div class="ttdeci">char * arg_ptr</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00041">web.h:41</a></div></div>
<div class="ttc" id="structrwbuf__t_html_a135345eee44e93f37e57dbabec12c339"><div class="ttname"><a href="structrwbuf__t.html#a135345eee44e93f37e57dbabec12c339">rwbuf_t::wind</a></div><div class="ttdeci">int wind</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00152">web.h:152</a></div></div>
<div class="ttc" id="structhinfo__t_html_a874ffdf5ade4e3844d7719444495e89c"><div class="ttname"><a href="structhinfo__t.html#a874ffdf5ade4e3844d7719444495e89c">hinfo_t::filename</a></div><div class="ttdeci">char * filename</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00040">web.h:40</a></div></div>
<div class="ttc" id="cpu_8h_html_ad0fe97585b8891f5e4f2b9a6426330a4"><div class="ttname"><a href="cpu_8h.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a></div><div class="ttdeci">#define MEMSPACE</div><div class="ttdef"><b>Definition:</b> <a href="cpu_8h_source.html#l00025">cpu.h:25</a></div></div>
<div class="ttc" id="structhinfo__t_html"><div class="ttname"><a href="structhinfo__t.html">hinfo_t</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00036">web.h:36</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a4cb258960bebf97073876d09836f1618"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a4cb258960bebf97073876d09836f1618">TOKEN_POST</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00071">web.h:71</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca75c8bace79d5c58050c2d93fd9de3c00"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca75c8bace79d5c58050c2d93fd9de3c00">STATUS_CREATED</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00101">web.h:101</a></div></div>
<div class="ttc" id="web_8h_html_a89dceabcd370d352c3efed0e689fd551"><div class="ttname"><a href="web_8h.html#a89dceabcd370d352c3efed0e689fd551">display_ipv4</a></div><div class="ttdeci">MEMSPACE void display_ipv4(char *msg, uint8_t *ip, int port)</div><div class="ttdoc">Display IPV4 address. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00470">web.c:470</a></div></div>
<div class="ttc" id="web_8h_html_aac0e14d0751e24b7143060600fe7822a"><div class="ttname"><a href="web_8h.html#aac0e14d0751e24b7143060600fe7822a">is_header</a></div><div class="ttdeci">MEMSPACE int is_header(char *str, char **p)</div><div class="ttdoc">Does the string look like a header token with a &amp;#39;:&amp;#39; ? </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01451">web.c:1451</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04af8b41aa43b046daa7c0ada29d27b7cdb"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04af8b41aa43b046daa7c0ada29d27b7cdb">TOKEN_ACCEPT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00077">web.h:77</a></div></div>
<div class="ttc" id="web_8h_html_a93274f0048175d7ed429598e951a2c77"><div class="ttname"><a href="web_8h.html#a93274f0048175d7ed429598e951a2c77">match_headers</a></div><div class="ttdeci">MEMSPACE int match_headers(char *str, char **p)</div><div class="ttdoc">Match GET/POST message headers. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01077">web.c:1077</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca7e4a42e3b6dd63708c64cf3db6f69566"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca7e4a42e3b6dd63708c64cf3db6f69566">STATUS_OK</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00100">web.h:100</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca241c5e2099d4e3033fb286faab004c5c"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca241c5e2099d4e3033fb286faab004c5c">STATUS_NOT_MODIF</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00106">web.h:106</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca11d58f99340eb2b9510382096f7019c5"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca11d58f99340eb2b9510382096f7019c5">STATUS_BAD_GATEWAY</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00113">web.h:113</a></div></div>
<div class="ttc" id="web_8h_html_a912affa80386fb06e19c3ce5342701f5"><div class="ttname"><a href="web_8h.html#a912affa80386fb06e19c3ce5342701f5">vsock_printf</a></div><div class="ttdeci">MEMSPACE int vsock_printf(rwbuf_t *p, const char *fmt, va_list va)</div><div class="ttdoc">vsock_printf function </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00808">web.c:808</a></div></div>
<div class="ttc" id="structmime__t_html_ae69826dcfd475d65fa0fe8a1574bb3af"><div class="ttname"><a href="structmime__t.html#ae69826dcfd475d65fa0fe8a1574bb3af">mime_t::type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00134">web.h:134</a></div></div>
<div class="ttc" id="structhinfo__t_html_a3fbd7d81842222192fe8e8570451e89f"><div class="ttname"><a href="structhinfo__t.html#a3fbd7d81842222192fe8e8570451e89f">hinfo_t::connection</a></div><div class="ttdeci">char * connection</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00045">web.h:45</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea30f126f9623d527070097095a12e69d6"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea30f126f9623d527070097095a12e69d6">PTYPE_GIF</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00126">web.h:126</a></div></div>
<div class="ttc" id="structhinfo__t_html_a87bad5ce6af7ed3613a61d01aef94d8d"><div class="ttname"><a href="structhinfo__t.html#a87bad5ce6af7ed3613a61d01aef94d8d">hinfo_t::content_type</a></div><div class="ttdeci">char * content_type</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00049">web.h:49</a></div></div>
<div class="ttc" id="send_8c_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> <a href="send_8c_source.html#l00017">send.c:17</a></div></div>
<div class="ttc" id="web_8h_html_a099953c3f11ff53e89c99b0be5212b70"><div class="ttname"><a href="web_8h.html#a099953c3f11ff53e89c99b0be5212b70">u5toa</a></div><div class="ttdeci">MEMSPACE void u5toa(char *ptr, uint16_t num)</div><div class="ttdoc">Print a decimal number into a string without an EOS. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01497">web.c:1497</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca663e14e47f325e0a39cd97b9a3ea6fb9"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca663e14e47f325e0a39cd97b9a3ea6fb9">STATUS_MV_PERM</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00104">web.h:104</a></div></div>
<div class="ttc" id="web_8h_html_adc29c2ff13d900c2f185ee95427fb06ca1879c295e29e4b52c2012c014cdc7f7a"><div class="ttname"><a href="web_8h.html#adc29c2ff13d900c2f185ee95427fb06ca1879c295e29e4b52c2012c014cdc7f7a">STATUS_BAD_REQ</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00107">web.h:107</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9eafb13489a2aca6e1485d8f1b36aab9bd5"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9eafb13489a2aca6e1485d8f1b36aab9bd5">PTYPE_FLASH</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00129">web.h:129</a></div></div>
<div class="ttc" id="web_8h_html_a2a5efc80e175181baf607f7f9a1358e5"><div class="ttname"><a href="web_8h.html#a2a5efc80e175181baf607f7f9a1358e5">write_str</a></div><div class="ttdeci">MEMSPACE void write_str(rwbuf_t *p, char *str)</div><div class="ttdoc">Write string using buffered write_byte function. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00774">web.c:774</a></div></div>
<div class="ttc" id="structhinfo__t_html_a06469570091ad74724457998e07d5b56"><div class="ttname"><a href="structhinfo__t.html#a06469570091ad74724457998e07d5b56">hinfo_t::msg</a></div><div class="ttdeci">char * msg</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00052">web.h:52</a></div></div>
<div class="ttc" id="web_8h_html_af089b318dcc1ebbec17ae7392a19e457"><div class="ttname"><a href="web_8h.html#af089b318dcc1ebbec17ae7392a19e457">rwbuf_delete</a></div><div class="ttdeci">MEMSPACE void rwbuf_delete(rwbuf_t *p)</div><div class="ttdoc">Delete socket read/write buffers. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00487">web.c:487</a></div></div>
<div class="ttc" id="web_8h_html_ac827567ee25b284c2992fed88249ab96"><div class="ttname"><a href="web_8h.html#ac827567ee25b284c2992fed88249ab96">rwbuf_rinit</a></div><div class="ttdeci">MEMSPACE void rwbuf_rinit(rwbuf_t *p)</div><div class="ttdoc">Initialize socket read status and read index. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00439">web.c:439</a></div></div>
<div class="ttc" id="web_8h_html_abc6126af1d45847bc59afa0aa3216b04a3fdcc37f74cb2179b65913891e1f02d8"><div class="ttname"><a href="web_8h.html#abc6126af1d45847bc59afa0aa3216b04a3fdcc37f74cb2179b65913891e1f02d8">TOKEN_ACCEPT_LANGUAGE</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00078">web.h:78</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9eae45f3c9fce9b5c96bf27fb291662b0cb"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae45f3c9fce9b5c96bf27fb291662b0cb">PTYPE_MPEG</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00128">web.h:128</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9eae0868088fd938478331ae365e481a2d3"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9eae0868088fd938478331ae365e481a2d3">PTYPE_XML</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00124">web.h:124</a></div></div>
<div class="ttc" id="structmem__t_html_ab04d46fb2982c9a26a26244286c1b33b"><div class="ttname"><a href="structmem__t.html#ab04d46fb2982c9a26a26244286c1b33b">mem_t::size</a></div><div class="ttdeci">int size</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00060">web.h:60</a></div></div>
<div class="ttc" id="structrwbuf__t_html_a68386231f3d907ec4508c090925782a2"><div class="ttname"><a href="structrwbuf__t.html#a68386231f3d907ec4508c090925782a2">rwbuf_t::wbuf</a></div><div class="ttdeci">char * wbuf</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00150">web.h:150</a></div></div>
<div class="ttc" id="web_8h_html_a35cc0d5292df6d1df5cf3ea63e44d0b7"><div class="ttname"><a href="web_8h.html#a35cc0d5292df6d1df5cf3ea63e44d0b7">arg_name</a></div><div class="ttdeci">MEMSPACE char * arg_name(hinfo_t *hi)</div><div class="ttdoc">Return the argument name for current argument. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l01298">web.c:1298</a></div></div>
<div class="ttc" id="structhinfo__t_html_a62bf198b939a9d932bcac763ebc51443"><div class="ttname"><a href="structhinfo__t.html#a62bf198b939a9d932bcac763ebc51443">hinfo_t::args</a></div><div class="ttdeci">char * args</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00042">web.h:42</a></div></div>
<div class="ttc" id="web_8h_html_a5cb82637d6d97812355aaa7a7fb4ccbe"><div class="ttname"><a href="web_8h.html#a5cb82637d6d97812355aaa7a7fb4ccbe">html_msg</a></div><div class="ttdeci">MEMSPACE int html_msg(rwbuf_t *p, int status, char type, char *fmt,...)</div><div class="ttdoc">Send an HTML status message to socket. </div><div class="ttdef"><b>Definition:</b> <a href="web_8c_source.html#l00853">web.c:853</a></div></div>
<div class="ttc" id="web_8h_html_a61dadd085c1777f559549e05962b2c9ea90b1e6aa374cea27cc6fb55c5feba5c6"><div class="ttname"><a href="web_8h.html#a61dadd085c1777f559549e05962b2c9ea90b1e6aa374cea27cc6fb55c5feba5c6">PTYPE_TEXT</a></div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00118">web.h:118</a></div></div>
<div class="ttc" id="structrwbuf__t_html_ac76412a0fbf9dc009ae3f8bb20660883"><div class="ttname"><a href="structrwbuf__t.html#ac76412a0fbf9dc009ae3f8bb20660883">rwbuf_t::received</a></div><div class="ttdeci">int received</div><div class="ttdef"><b>Definition:</b> <a href="web_8h_source.html#l00146">web.h:146</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jan 31 2018 21:22:16 for ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
